import java.util.ArrayList;
import java.util.Stack;
//这题还有反转链表的方法,有时间试试
public class Interview_003 {

    /**
     * ③链表
     * 1.题目:
     * 输入一个链表，按链表从尾到头的顺序返回一个ArrayList
     * 这个方法其实可以,但是牛客不通过(牛客上要自己导包)
     *
     * 2.考点:
     * 栈,链表的反转
     */
    public ArrayList<Integer> printListFromTailToHead1(ListNode listNode) {
        ArrayList<Integer> list = new ArrayList<>();
        if(listNode == null){
            return list;
        }
        ListNode cur = listNode.next;
        Stack stack = new Stack();
        while (cur != null) {
            stack.push(cur.val);
            cur = cur.next;
        }
        while(stack.size() > 0){
            list.add((Integer) stack.pop());
        }
        return list;
    }
}
class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}
